namespace Acme.MeiTuan.SDK.Response.Order;

public class OrderDetailResult
{
    public bool is_pre_sale_order;

    /// <summary>
    /// 订单号（同订单展示ID），数据库中请用bigint(20)存储此字段。
    /// </summary>
    public long order_id { get; set; }


    /// <summary>
    ///订单展示ID，与用户端、商家端订单详情中展示的订单号码一致。数据库中请用bigint(20)存储此字段。
    /// </summary>
    public long wm_order_id_view { get; set; }


    /// <summary>
    /// APP方门店id，即商家中台系统里门店的编码。
    /// 如商家在操作绑定门店至开放平台应用中时，未绑定三方门店id信息，则默认APP方门店id与美团门店id相同。
    /// </summary>
    public string? app_poi_code { get; set; }


    /// <summary>
    /// 商家门店名称，即美团平台上当前订单所属门店的名称。
    /// </summary>
    public string? wm_poi_name { get; set; }


    /// <summary>
    /// 商家门店地址，即美团平台上当前订单所属门店的地址。
    /// </summary>
    public string? wm_poi_address { get; set; }


    /// <summary>
    /// 商家门店联系电话，即美团平台上当前订单所属门店的联系电话。
    /// </summary>
    public string? wm_poi_phone { get; set; }


    /// <summary>
    /// 订单收货人地址，此字段为用户填写的收货地址。
    /// 商家可在开发者中心->基础设置->订单订阅字段
    /// 页面订阅字段“13 收货地址”；若开启订阅，
    /// 则订单数据会在此字段后追加根据经纬度反查地址的结果，
    /// 并用“@#”符号分隔，格式为：用户填写地址@#反查结果。
    /// 示例：美团·大众点评北京总部 (恒电大厦B座一层)@#北京市北京市朝阳区屏翠东路屏翠东路美团·大众点评北京总部
    /// </summary>
    public string? recipient_address { get; set; }


    /// <summary>
    /// 订单收货人联系电话，此字段信息可能推送真实手机号码或隐私号，
    /// 即需兼容138*****678和13812345678_123456两种号码格式。
    /// </summary>
    public string? recipient_phone { get; set; }


    /// <summary>
    /// 备用隐私号，此字段是列表格式，多个隐私号用英文逗号隔开；当无备用隐私号时，则此字段推送内容为[]。
    /// </summary>
    public string backup_recipient_phone { get; set; }
    // public List<string>? backup_recipient_phoneObj { get; set; }


    /// <summary>
    /// 订单收货人姓名，同时包含用户在用户端选择的性别标识信息。
    /// (1)若用户没有填写姓名(老版本的用户端可能支持不填写)，
    /// 此字段默认为空；商家可在开发者中心开启订阅“12 用户名称”字段，则平台会用“美团客人”自动填充此字段。
    /// (2)用户填写了收货人姓名时，此字段按用户所填全部内容正常展示，若姓名中包含特殊符号(如emoji表情)，需商家自行解析。
    /// </summary>
    public string? recipient_name { get; set; }


    /// <summary>
    /// 门店配送费，单位是元。
    /// 当前订单产生时该门店的配送费（商家自配送运费或美团配送运费），此字段数据为运费优惠前的原价。
    /// </summary>
    public decimal shipping_fee { get; set; }


    /// <summary>
    /// 订单的实际在线支付总价，单位是元。此字段数据为用户实际支付的订单总金额，含打包袋、配送费等。
    /// </summary>
    public decimal total { get; set; }


    /// <summary>
    /// 订单的总原价，单位为元。此字段数据为未扣减所有优惠前订单的总金额，含打包袋、配送费等。
    /// </summary>
    public decimal original_price { get; set; }


    /// <summary>
    /// 订单备注信息
    /// </summary>
    public string? caution { get; set; }


    /// <summary>
    /// 配送员联系电话，如为美团配送订单，当订单有配送员信息时，查询此字段有值；如为商家自配送订单，商家自行同步了配送员电话，查询则此字段有值。
    /// </summary>
    public string? shipper_phone { get; set; }


    /// <summary>
    /// 订单状态，返回订单当前的状态。
    /// 目前平台的订单状态参考值有：1-用户已提交订单；2-向商家推送订单；4-商家已确认；8-订单已完成；9-订单已取消。
    /// </summary>
    public int status { get; set; }


    /// <summary>
    /// 城市id，此字段信息为美团定义，商家无需使用。
    /// </summary>
    public long city_id { get; set; }


    /// <summary>
    /// 是否支持开发票：0-不支持，1-支持。
    /// </summary>
    public int has_invoiced { get; set; }


    /// <summary>
    /// 发票抬头，为用户填写的开发票的抬头。
    /// </summary>
    public string? invoice_title { get; set; }


    /// <summary>
    /// 纳税人识别号，此字段信息默认不返回，如商家支持订单开发票，
    /// 可在开发者中心->基础设置->订单订阅字段 页面开启订阅字段“27 纳税人识别号”。
    /// </summary>
    public string? taxpayer_id { get; set; }


    /// <summary>
    /// 创建时间
    /// </summary>
    public long ctime { get; set; }


    /// <summary>
    /// 更新时间
    /// </summary>
    public long utime { get; set; }


    /// <summary>
    /// 预计送达时间。若用户选择立即送出（系统自动计算预计送达时间，请参考estimate_arrival_time字段），
    /// 则本参数推送0。若用户自行选择了预计送达时间，则本参数推送用户所选时间的时间戳（秒级）。
    /// </summary>
    public long delivery_time { get; set; }


    /// <summary>
    /// 是否是第三方配送平台配送，0-否（含商家自配送和美团配送，目前无法区分，
    /// 具体配送方式建议参考logistics_code字段。）；1-是（第三方平台配送）。
    /// </summary>
    public int is_third_shipping { get; set; }


    /// <summary>
    /// 支付类型：1-货到付款，2-在线支付。目前订单只支持在线支付，此字段推送信息为2。
    /// </summary>
    public int pay_type { get; set; }


    /// <summary>
    ///取货类型：0-普通(配送),1-用户到店自取。此字段的信息默认不推送，
    /// 商家如有需求可在开发者中心->基础设置->订单订阅字段 页面开启订阅字段“28 取餐类型订阅字段”。
    /// </summary>
    public int pick_type { get; set; }


    /// <summary>
    /// 订单收货地址的纬度，美团使用的是高德坐标系，也就是火星坐标系，商家如果使用的是百度坐标系需要自行转换，坐标需要乘以一百万。
    /// </summary>
    public double latitude { get; set; }


    /// <summary>
    /// 订单收货地址的经度，美团使用的是高德坐标系，也就是火星坐标系，商家如果使用的是百度坐标系需要自行转换，坐标需要乘以一百万。
    /// </summary>
    public double longitude { get; set; }


    /// <summary>
    /// 当日订单流水号，门店每日已支付订单的流水号从1开始。未支付的订单，流水号为0。
    /// 目前，自提订单的取货码与该订单流水号相同。
    /// 此字段信息默认不返回，商家如有需求可在开发者中心->基础设置->订单订阅字段 页面开启订阅字段“15 订单流水号”。
    /// </summary>
    public int day_seq { get; set; }


    /// <summary>
    /// 订单用户是否收藏此门店：true-是， false-否。该信息默认不返回，
    /// 商家如有需求可在开发者中心->基础设置->订单订阅字段 页面开启订阅字段“17 是否收藏店铺”
    /// </summary>
    public bool is_favorites { get; set; }


    /// <summary>
    /// 订单用户是否第一次在此门店下单：true-是，false-否。该信息默认不返回，
    /// 商家如有需求可在开发者中心->基础设置->订单订阅字段 页面开启订阅字段“16 是否是门店新客”。
    /// </summary>
    public bool is_poi_first_order { get; set; }


    /// <summary>
    /// 用餐人数（0：用户没有选择用餐人数；1-10：用户选择的用餐人数；-10：10人以上用餐；99：用户不需要餐具）。该信息默认不推送，
    /// 商家如有需求可在开发者中心->基础设置->订单订阅字段 页面开启订阅字段“25 用餐人数”。此字段适用于餐饮类订单，闪购品类订单此字段信息默认为0。
    /// </summary>
    public int dinners_number { get; set; }


    /// <summary>
    /// 订单配送方式，该字段信息默认不返回，商家如有需求可在开发者中心->基础设置->订单订阅字段 页面开启订阅字段“22 配送方式”。
    /// 商家可在开放平台的【附录】文档中对照查看不同logistics_code对应的描述，
    /// 如0000-商家自配、1001-美团加盟、2002-快送、3001-混合送（即美团专送+快送）等。
    /// 如商家想了解自己门店的配送方式以及如何区分等情况，请咨询美团品牌经理。
    /// </summary>
    public string? logistics_code { get; set; }


    public string? poi_receive_detail { get; set; }

    public string detail { get; set; }

    public string extras { get; set; }

    public string? sku_benefit_detail { get; set; }

    public string? user_member_info { get; set; }


    /// <summary>
    /// 门店平均送货时长，单位是秒。是美团计算的此门店平均送货时长，如商家对此字段数据计算方式有疑问，请商家咨询美团品牌经理。
    /// </summary>
    public double avg_send_time { get; set; }


    /// <summary>
    /// 用户下单完成支付的时间，为10位秒级的时间戳。
    /// </summary>
    public long order_send_time { get; set; }


    /// <summary>
    /// 商家收到订单的时间，为10位秒级的时间戳。
    /// </summary>
    public long order_receive_time { get; set; }


    /// <summary>
    /// 商家确认订单(接单)的时间，为10位秒级的时间戳。
    /// </summary>
    public long order_confirm_time { get; set; }


    /// <summary>
    /// 订单取消时间，为10位秒级的时间戳。
    /// </summary>
    public long order_cancel_time { get; set; }


    /// <summary>
    /// 订单完成时间，为10位秒级的时间戳。
    /// </summary>
    public long order_completed_time { get; set; }


    /// <summary>
    /// 美团配送订单状态code，目前美团配送状态值有：0-配送单发往配送，5-配送侧压单，10-配送单已确认，
    /// 15-骑手已到店，20-骑手已取货，40-骑手已送达，100-配送单已取消。
    /// </summary>
    public int logistics_status { get; set; }


    /// <summary>
    /// 配送方id，配送方id对应配送方名称：1-商家自配；2-趣活；3-达达；4-美团跑腿；
    /// 5-加盟；6-自建；7-E代送；8-城市代理；100-角马；101-快送；102-混合送（专送+快送）。
    /// </summary>
    public int logistics_id { get; set; }


    /// <summary>
    /// 配送方名称，配送方id对应配送方名称：1-商家自配；2-趣活；
    /// 3-达达；4-美团跑腿；5-加盟；6-自建；7-E代送；8-城市代理；100-角马；101-快送；102-混合送（专送+快送）。
    /// </summary>
    public string? logistics_name { get; set; }


    /// <summary>
    /// 美团配送单发往配送的时间，此字段信息取最新一次发往配送的时间(logistics_status=0)，为10位秒级的时间戳。
    /// </summary>
    public int logistics_send_time { get; set; }


    /// <summary>
    /// 美团配送单确认时间，此字段信息取最新一次配送单确认的时间(logistics_status=10)，为10位秒级的时间戳。
    /// </summary>
    public int logistics_confirm_time { get; set; }


    /// <summary>
    /// 美团配送单取消时间，此字段信息取最新一次配送单取消的时间(logistics_status=100)，为10位秒级的时间戳。如最新一次配送单最终未取消，则此字段值为0。
    /// </summary>
    public int logistics_cancel_time { get; set; }


    /// <summary>
    /// 美团骑手取单时间，此字段信息取最新一次骑手取单的时间(logistics_status=20)，为10位秒级的时间戳。
    /// </summary>
    public int logistics_fetch_time { get; set; }


    /// <summary>
    /// 美团配送单完成时间，即骑手送达订单商品的时间(logistics_status=40)，为10位秒级的时间戳。
    /// </summary>
    public int logistics_completed_time { get; set; }


    /// <summary>
    /// 美团配送骑手的姓名，取最新一次指派的骑手信息。
    /// </summary>
    public string? logistics_dispatcher_name { get; set; }


    /// <summary>
    /// 美团配送骑手的联系电话，取最新一次指派的骑手信息。（请兼容13812345678和13812345678_123456两种号码格式，以便对接隐私号订单，最多不超过20位）
    /// </summary>
    public string? logistics_dispatcher_mobile { get; set; }


    /// <summary>
    /// 订单维度的打包袋金额，单位是分。该信息默认不返回，商家如有需求可在开发者中心->基础设置->订单订阅字段 页面开启订阅字段“29 打包袋”。（目前仅药品类和部分零售类商家支持打包袋功能）
    ///注意，打包袋费用推送规则为：
    /// (1)订单打包袋如由美团提供给商家，费用结算美团平台，则该参数值为0；
    /// 注：订阅字段仅是支持推送字段；若开发者再单独向开放平台申请另加白名单支持按应用维度继续推送费用具体金额，则即使费用是结算给美团的，该参数也会推送实际收费金额。
    ///(2)订单打包袋如由商家自己提供，费用结算给商家，则该参数为实际收费金额。
    /// </summary>
    public int package_bag_money { get; set; }


    /// <summary>
    /// 订单预计送达时间，为10位秒级的时间戳。该字段默认不返回，商家如有需求可在开发者中心->基础设置->订单订阅字段 页面开启订阅字段“35 订单预计送达时间”。关于订单预计送达时间字段的说明： (1)当用户选择订单立即送出(delivery_time=0)，estimate_arrival_time字段信息则为美团计算的该即时订单预计送达时间。 (2)当用户选择订单在某个特定时间送达，即为预订单。estimate_arrival_time字段与delivery_time字段信息相同，均为用户选择的订单预计送达时间。
    /// (3)当订单为用户到店自取方式，estimate_arrival_time字段与delivery_time字段信息相同，均为用户选择的到店取货时间。
    /// </summary>
    public int estimate_arrival_time { get; set; }


    /// <summary>
    /// 订单维度的打包袋金额，单位是元。该信息默认不推送，商家如有需求可在开发者中心->基础设置->订单订阅字段 页面开启订阅字段“39 打包袋(元)”。
    ///与package_bag_money字段相比，package_bag_money_yuan字段的单位为元，其他规则相同；订阅其中一个字段即可。
    /// 费用推送规则：
    ///(1)订单打包袋如由美团提供给商家，费用结算美团平台，则该参数值为0；
    ///注：订阅字段仅是支持推送字段；若开发者再单独向开放平台申请另加白名单支持按应用维度继续推送费用具体金额，则即使费用是结算给美团的，该参数也会推送实际收费金额。
    ///(2)订单打包袋如由商家自己提供，费用结算给商家，则该参数为实际收费金额。
    /// </summary>
    public string? package_bag_money_yuan { get; set; }



    public string poi_receive_detail_yuan { get; set; }


    /// <summary>
    /// 订单商品的总重量（该信息默认不返回，可在开发者中心订阅），单位为克/g。
    /// </summary>
    public long total_weight { get; set; }


    /// <summary>
    /// 推送订单的预订人手机号，适用于鲜花绿植类商家的订单。请兼容支持真实号码和隐私号两种格式，字段推送规则：
    /// 1.当下单用户关闭隐私号保护，则字段推送预订人真实手机号码，示例：13000220022。
    ///2.当下单用户开启隐私号保护，则字段推送预订人手机号码隐私号格式，示例：13100000000_1234。
    /// </summary>
    public string? order_phone_number { get; set; }


    /// <summary>
    /// 订单数据状态标记。当订单中部分字段的数据因内部交互异常或网络等原因延迟生成（超时），导致开发者当前获取的订单数据不完整，此时平台对订单数据缺失情况进行标记。如不完整，建议尝试重新查询。注意，平台仅对部分模块的数据完整性进行监察标记（参考incmp_modules字段）。参考值：
    /// -1：有数据降级
    ///0：无数据降级
    /// </summary>

    public int incmp_code { get; set; }



    /// <summary>
    /// 有降级的数据模块的集合，参考值：
    /// 0：订单商品详情
    /// 1：订单优惠信息
    /// 2：商品优惠详情
    /// 3：订单用户会员信息
    /// 4：订单维度的商家对账信息
    /// 5：订单维度的商家对账信息(元)
    ///     6：订单收货人地址
    /// 7：订单配送方式
    /// 8：开放平台用户id
    /// 9：部分退款商品信息
    /// 10：退货退款物流信息
    /// 11：部分订单基本信息(包括订单优惠信息、订单商品详情、门店信息等)
    /// 12：sku信息
    /// 13：spu信息
    /// 14：商品信息(可能是sku或spu等商品相关信息获取时降级)
    ///     15：替换折扣价为原价
    /// </summary>
    public string[] incmp_modules { get; set; }



    /// <summary>
    /// 该订单是否扫码配送，参考值：ture-是，false-否（预计上线时间2021-06-08号）
    /// </summary>
    public bool scan_deliver_flag { get; set; }


    /// <summary>
    /// 扫码配送的二维码内容，仅当订单为扫码配送（scan_deliver_flag =true）时，
    /// 本参数才返回。需开发者自行转换成打印机指令发送给打印机系统，将二维码打印在订单小票上。（预计上线时间2021-06-08号）
    /// </summary>
    public string? scan_deliver_qr_content { get; set; }


    /// <summary>
    /// 是否是全城送订单：1-是，0-否
    /// </summary>
    public int is_whole_city_ship { get; set; }
}

public class PoiReceiveDetail
{

    /// <summary>
    /// 美团承担优惠活动明细
    /// </summary>
    public List<ActOrderChargeByMt>? actOrderChargeByMt { get; set; }



    /// <summary>
    /// 商家承担优惠活动明细
    /// </summary>
    public List<ActOrderChargeByPoi>? actOrderChargeByPoi { get; set; }



    /// <summary>
    /// 商品分成，即平台服务费，单位是分。订单的平台服务费与协议保底佣金，取较大值；如对平台服务费计算方法或保底佣金有疑问，请商家咨询美团品牌经理。
    /// 注意：
    /// 美配新收费模式下，本参数是指技术服务费。
    /// 美配履约服务费请参考reconciliationExtras里的performanceServiceFee字段。
    /// </summary>
    public long foodShareFeeChargeByPoi { get; set; }



    /// <summary>
    /// 商家对账信息相关的额外信息
    /// </summary>
    public ReconciliationExtras? reconciliationExtras { get; set; }


    /// <summary>
    /// 门店配送费，单位是分。当前订单产生时该门店的配送费（商家自配送运费或美团配送运费），此字段数据为运费优惠前的原价。
    /// </summary>
    public long logisticsFee { get; set; }

    /// <summary>
    /// 订单在线支付款，单位是分。此字段信息为用户实际支付的订单总金额。
    /// </summary>
    public long onlinePayment { get; set; }

    /// <summary>
    ///商家应收款，根据订单原始相关信息计算所得，单位是分。计算公式：
    /// 结算金额=商品原价合计+包装盒费合计+赠品原价合计+打包袋+配送费（仅限商家自配、美团跑腿）-商家活动支出-平台服务费-公益捐款。
    /// 注意：订单下单时的计算金额统计口径为商家协议配送方式下的商业费用，仅做营业参考数值，最终结算是按订单完成时的配送方式计算为准，切勿混淆。
    /// 关于商品分成/平台服务费、商家应收款计算公式，如疑问请商家咨询美团品牌经理或美团商服10105557。
    /// </summary>
    public long wmPoiReceiveCent { get; set; }


}

public class Detail
{
    /// <summary>
    /// 单个sku的商品现价（实际支付价格），单位是元
    /// </summary>
    public decimal actual_price { get; set; }


    /// <summary>
    /// 单个sku的商品原价（未扣减所有优惠前的价格），单位是元
    /// </summary>
    public decimal original_price { get; set; }

    /// <summary>
    /// APP方商品id，即商家中台系统里商品的编码(spu_code值)：(1)不同门店之间商品id可以重复，同一门店内商品id不允许重复。
    /// (2)字段信息限定长度不超过128个字符。(3)如此字段信息推送的是商品名称或信息为空，则表示商家没有维护商品编码，请商家自行维护。
    /// </summary>
    public string? app_food_code { get; set; }


    /// <summary>
    /// 商品名称
    /// </summary>
    public string? food_name { get; set; }


    /// <summary>
    /// SKU码(商家的规格编码)，是商品sku唯一标识码。
    /// </summary>
    public string? sku_id { get; set; }


    public string? upc { get; set; }


    /// <summary>
    /// 订单中此商品sku的购买数量
    /// </summary>
    public int quantity { get; set; }


    /// <summary>
    /// 商品单价，单位是元。此字段信息默认返回活动折扣后价格，商家如有需求将价格替换为原价，可在开发者中心->基础设置->订单订阅字段 页面开启订阅字段“18 替换菜品折扣价格为原价”。
    /// 如需要同时获得原价和折扣价，可以使用detail字段下的original_price和actual_price
    /// </summary>
    public decimal price { get; set; }


    /// <summary>
    /// 订单中当前商品sku需使用包装盒的总数量（单件商品sku需使用包装盒数量*商品售卖数量）。单件商品sku包装盒数量是商家同步商品时维护的信息。
    /// </summary>
    public decimal box_num { get; set; }



    /// <summary>
    /// 包装盒单价，单位是元。为订单中当前商品sku单个包装盒的价格，是商家同步商品时维护的信息
    /// </summary>
    public decimal box_price { get; set; }


    /// <summary>
    /// 商品售卖单位
    /// </summary>
    public string? unit { get; set; }


    public string spec { get; set; }

    /// <summary>
    /// 商品折扣系数，目前此字段默认为1，商家无需参考此字段的信息。
    /// </summary>
    public float food_discount { get; set; }


    /// <summary>
    /// 商品属性，多个属性用半角逗号隔开。该信息默认不返回，商家如有需求可在开发者中心->基础设置->订单订阅字段 页面开启订阅字段“23 菜品属性”。
    /// </summary>
    public string? food_property { get; set; }



    /// <summary>
    /// 商品所在的口袋，为用户在购物车中自行设置商品分开包装的口袋号。0为1号口袋，1为2号口袋，以此类推。此信息默认不返回，
    /// 商家如有需求可在开发者中心->基础设置->订单订阅字段 页面开启订阅字段“26 商品口袋”。此字段适用于餐饮类订单，目前闪购品类订单此字段信息默认为0。
    /// </summary>
    public int cart_id { get; set; }


    /// <summary>
    /// 商品sku单件的重量，单位是克/g。
    /// </summary>
    public long weight { get; set; }


    public string? weight_for_unit { get; set; }



    /// <summary>
    /// 表示sku的重量数值单位。
    /// </summary>
    public string? weight_unit { get; set; }
}

public class Extras
{
    /// <summary>
    /// 活动id，目前此字段信息不适用于闪购品类订单商品优惠活动查询，
    /// 如需查询商品活动信息，请商家参考下方sku_benefit_detail->wmAppOrderActDetails->act_id 字段。
    /// </summary>
    public int act_detail_id { get; set; }


    /// <summary>
    /// 本活动优惠的金额，单位是元。表示在用户本需支付的订单金额基础上减的金额，包括美团承担活动费用和商户承担活动费用的总和。
    /// 特殊情况说明：满赠、买赠活动的赠品成本不属于给用户减的金额，即当type=5、23时，reduce_fee=0。
    /// </summary>
    public decimal reduce_fee { get; set; }



    /// <summary>
    /// 活动优惠金额中美团承担成本，单位是元。该信息默认不返回，商家如有需求可在开发者中心->基础设置->订单订阅字段 页面开启订阅字段“20 活动费用分摊”。
    /// </summary>
    public decimal mt_charge { get; set; }


    /// <summary>
    /// 活动优惠金额中商家承担成本，单位是元。该信息默认不推送，商家如有需求可在开发者中心->基础设置->订单订阅字段 页面开启订阅字段“20 活动费用分摊”。
    /// 特殊情况说明：满赠、买赠活动的赠品成本不属于给用户减的金额，即当type=5、23时，reduce_fee=0，poi_charge有值，为赠品成本。
    /// </summary>
    public decimal poi_charge { get; set; }



    /// <summary>
    /// 优惠说明
    /// </summary>
    public string remark { get; set; }

    public int type { get; set; }


    /// <summary>
    /// 优惠券细分类型，订单使用优惠券(type=9)才有该字段
    /// 2-优惠券用于商品，3-优惠券用于运费券
    /// </summary>
    public int type_9_coupon_type { get; set; }
}

public class SkuBenefitDetail
{
    /// <summary>
    /// APP方商品id，即商家中台系统里商品的编码(spu_code值)：(1)不同门店之间商品id可以重复，同一门店内商品id不允许重复。
    /// (2)字段信息限定长度不超过128个字符。(3)如此字段信息推送的是商品名称或信息为空，则表示商家没有维护商品编码，请商家自行维护。
    /// </summary>
    public string? app_food_code { get; set; }

    /// <summary>
    /// 商品名称
    /// </summary>
    public string? name { get; set; }


    /// <summary>
    /// SKU码(商家的规格编码)，是商品sku唯一标识码。
    /// </summary>
    public string? sku_id { get; set; }



    /// <summary>
    /// 商品的UPC码信息，即商品包装上的UPC/EAN码编号，长度一般8位或者13位。
    /// 是商家同步商品信息时维护的UPC码，同一门店内，商品UPC码不允许重复
    /// </summary>
    public string? upc { get; set; }



    /// <summary>
    /// 订单中此商品sku的购买数量
    /// </summary>
    public int count { get; set; }


    /// <summary>
    /// 商品sku参加活动优惠前的总原价（包含商品包装费），单位是元。
    /// </summary>
    public double totalOriginPrice { get; set; }


    /// <summary>
    /// 单件商品sku参加活动优惠前的原单价（不包含商品包装费），单位是元。
    /// </summary>
    public double originPrice { get; set; }


    /// <summary>
    /// 商品sku参加活动所优惠的总金额，单位是元。
    /// </summary>
    public double totalReducePrice { get; set; }



    /// <summary>
    /// 商品sku参活动优惠后的总价（包含商品包装费），单位是元。
    /// </summary>
    public double totalActivityPrice { get; set; }



    /// <summary>
    ///  单件商品sku参加活动优惠后的单价（包含商品包装费），单位是元。
    /// </summary>
    public double activityPrice { get; set; }


    /// <summary>
    /// 商品sku参加活动优惠的美团承担成本总金额，单位是元。
    /// </summary>
    public double totalMtCharge { get; set; }



    /// <summary>
    /// 商品sku参加活动优惠的商家承担成本总金额，单位是元。
    /// </summary>
    public double totalPoiCharge { get; set; }


    /// <summary>
    /// 商品sku使用包装盒的总价，单位是元。
    /// </summary>
    public double totalBoxPrice { get; set; }

    public double boxPrice { get; set; }

    public double boxNumber { get; set; }
}

public class UserMemberInfo
{

    /// <summary>
    /// 是否为会员用户，参考值：ture-是，false-否。
    /// </summary>
    public bool is_poi_member { get; set; }

    /// <summary>
    /// 会员卡卡号，商家系统里此会员的卡号
    /// </summary>
    public string? card_code { get; set; }


    /// <summary>
    /// 会员等级，商家维护的会员等级code，对应信息请商家参考自己中台系统的相关信息。
    /// </summary>
    public string? level_code { get; set; }


    /// <summary>
    /// 商家会员id，商家系统里的会员id
    /// </summary>
    public string? poi_member_id { get; set; }
}

public class PoiReceiveDetailYuan
{

    public List<ActOrderChargeByMt> actOrderChargeByMt { get; set; }


    public List<ActOrderChargeByPoi> actOrderChargeByPoi { get; set; }



    /// <summary>
    /// 商品分成，即平台服务费，单位为元
    /// </summary>
    public decimal? foodShareFeeChargeByPoi { get; set; }


    /// <summary>
    /// 配送费，单位为元
    /// </summary>
    public decimal? logisticsFee { get; set; }


    /// <summary>
    /// 在线支付款，单位为元
    /// </summary>
    public decimal? onlinePayment { get; set; }



    /// <summary>
    /// 商家应收款，单位为元
    /// </summary>
    public decimal poiReceive { get; set; }
    
    public string reconciliationExtras { get; set; }
}

public class ActOrderChargeByMt
{

    /// <summary>
    /// 备注
    /// </summary>
    public string? comment { get; set; }

    /// <summary>
    /// 明细费用类型描述
    /// </summary>
    public string? feeTypeDesc { get; set; }


    /// <summary>
    /// 明细费用类型ID
    /// </summary>
    public int feeTypeId { get; set; }


    /// <summary>
    /// 明细金额，单位为元
    /// </summary>
    public decimal? money { get; set; }
}

public class ActOrderChargeByPoi
{

    /// <summary>
    /// 备注
    /// </summary>
    public string? comment { get; set; }

    /// <summary>
    /// 明细费用类型描述
    /// </summary>
    public string? feeTypeDesc { get; set; }


    /// <summary>
    /// 明细费用类型ID
    /// </summary>
    public int feeTypeId { get; set; }


    /// <summary>
    /// 明细金额，单位为元
    /// </summary>
    public decimal? money { get; set; }
}

public class ReconciliationExtras
{


    /// <summary>
    /// 费率模式 1:旧收费模式 2:新收费模式 6 闪购企客模式
    /// </summary>
    public int chargeMode { get; set; }



    /// <summary>
    /// 订单履约服务费金额，单位元。如订单无履约服务费，则返回0。
    /// </summary>
    public string? performanceServiceFee { get; set; }



    /// <summary>
    /// 技术服务费，单位为元，仅当费率模式为6时存在
    /// </summary>
    public double technicalServiceFee { get; set; }



    /// <summary>
    /// 距离收费，单位为，仅当费率模式为6时存在
    /// </summary>
    public double distanceFee { get; set; }



    /// <summary>
    /// 时段增值收费，单位为元，仅当费率模式为6时存在
    /// </summary>
    public double slaFee { get; set; }



    /// <summary>
    /// 基础配送费，单位为元，仅当费率模式为6时存在
    /// </summary>
    public double baseShippingAmount { get; set; }


    /// <summary>
    /// 品类加价，单位为元，仅当费率模式为6时存在
    /// </summary>
    public double categoryChargeFee { get; set; }



    /// <summary>
    /// 重量收费，单位为元，仅当费率模式为6时存在
    /// </summary>
    public double weightChargeFee { get; set; }


    /// <summary>
    /// 特殊日期收费，单位为元，仅当费率模式为6时存在
    /// </summary>
    public double holidayChargeFee { get; set; }
}